]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
volume: Only emit sound feedback after volume changes
authorFlorian Müllner <fmuellner@gnome.org>
Fri, 23 Feb 2018 22:58:22 +0000 (23:58 +0100)
committerFlorian Müllner <fmuellner@gnome.org>
Sat, 23 Nov 2019 14:08:54 +0000 (15:08 +0100)
gnome-settings-daemon doesn't play the volume change sound when
the volume stayed the same (that is, it is already at its maximum
or minimum). This looks like the right thing to do, so copy its
behavior.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/53

js/ui/status/volume.js

index 48ae45a9a43775396401aa674d5d228a33b4daa0..87b24e04a088d8d3f567ddf13ef62d213febd640 100644 (file)
@@ -113,6 +113,7 @@ var StreamSlider = class {
         let value = this._slider.value;
         let volume = value * this._control.get_vol_max_norm();
         let prevMuted = this._stream.is_muted;
+        let prevVolume = this._stream.volume;
         if (volume < 1) {
             this._stream.volume = 0;
             if (!prevMuted)
@@ -124,7 +125,8 @@ var StreamSlider = class {
         }
         this._stream.push_volume();
 
-        if (!this._notifyVolumeChangeId && !this._inDrag) {
+        let volumeChanged = this._stream.volume !== prevVolume;
+        if (volumeChanged && !this._notifyVolumeChangeId && !this._inDrag) {
             this._notifyVolumeChangeId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, 30, () => {
                 this._notifyVolumeChange();
                 this._notifyVolumeChangeId = 0;